package dados.cliente;

import negocio.cliente.Cliente;

public class CadastroDeCliente {

	private Cliente[] listaCliente;
	private int indice;
	private static final int tamanhoLista = 100;

	public CadastroDeCliente() {
		this.indice = 0;
		this.listaCliente = new Cliente[tamanhoLista];
	}

	public void adicionarCliente(Cliente cliente) {
		this.listaCliente[indice] = cliente;
		this.indice += 1;

	}

	public int procurarPosicao(String telefoneFixo) {
		int i = 0;
		int posicao = -1;
		boolean achou = false;

		while (i < this.indice && !achou) {
			if (this.listaCliente[i].getTelefoneFixo().equals(telefoneFixo)) {
				posicao = i;
				achou = true;

			}
			i += 1;

		}
		return posicao;
	}

	public boolean existeCliente(String telefoneFixo) {

		boolean existe = false;
		int posicao = this.procurarPosicao(telefoneFixo);
		if (posicao != -1) {
			existe = true;
		}

		return existe;
	}

	public void excluirCliente(String telefoneFixo) {
		if (this.existeCliente(telefoneFixo)) {
			int posicao = this.procurarPosicao(telefoneFixo);
			this.listaCliente[posicao] = this.listaCliente[indice - 1];
			this.listaCliente[indice - 1] = null;
			this.indice -= 1;
		}
	}

	public Cliente recuperarCliente(String telefoneFixo) {
		int posicao = -1;
		if (this.existeCliente(telefoneFixo)) {
			posicao = this.procurarPosicao(telefoneFixo);
		}
		return this.listaCliente[posicao];
	}

}
